Non-volatile semiconductor memory devices, such as removable storage cards or Universal Serial Bus (USB) flash memory devices, have enabled increased portability of data and software applications. Data storage densities of non-volatile semiconductor memory devices are generally increasing and support greater performance in portable electronic devices. Some features that enable higher density, such as multi-level cell technologies, may also cause increased design complexity to maintain robust operation of the memory device. To illustrate, flash memory devices may use many parameters, such as programming step size or codeword size, to control memory access operations.
Values of such parameters may be chosen based on one or more reliability criteria of the flash memory device. As a result, the parameter values may be selected based on the behavior of a very small number of memory cells (i.e. the cells with weak reliability) as compared to the majority of memory cells of the flash memory device. In such cases, ensuring reliable operation of the flash memory device for every memory cell may cause the device to operate at a lower overall performance level.